



/**
* 按照姓名查找员工信息
*/
EMP *findname(char *name)
{
    EMP *emp1;
    emp1=emp_first;
    
    while(emp1)
    {
        if(strcmp(name,emp1->name)==0)      //比较输入的姓名和链表中的记载姓名是否相同
        {
			return emp1;
		}
        emp1=emp1->next;          
    }    
    return NULL;
}

/**
* 按照员工号查询
*/
EMP *findnum(int num)                   //声明一个结构体指针
{
   EMP *emp1;
   
   emp1=emp_first;
   while(emp1)
   {
       if(num==emp1->num)  return emp1;
       emp1=emp1->next;           
   }  
   return NULL;  
}
/**
* 按照通讯号码查询员工信息
*/
EMP *findtelephone(char *name)
{
     EMP *emp1;
     
     emp1=emp_first;
     while(emp1)
     {
         if((strcmp(name,emp1->tel_office)==0)||
         (strcmp(name,emp1->tel_home)==0)||
         (strcmp(name,emp1->mobile)==0))        //使用逻辑或判断通讯号码
         return emp1;
         emp1=emp1->next;
                 
     }  
      return NULL;       
}

/**
* 按照员工QQ号查询员工信息
*/
EMP *findqq(char *name)
{
    EMP *emp1;
    
    emp1=emp_first;
    while(emp1)
    {
        if(strcmp(name,emp1->qq)==0)  return emp1;
        emp1=emp1->next;           
    }  
    return NULL;  
}

/**
* 查询员工信息
*/
void findemp()
{
     int choice,ret=0,num;
     char str[13];
     EMP *emp1;
     
     system("cls");
     
     do{
         printf("\t查询员工信息\n");
         bound('_',30);
         printf("\t1.按姓名查询\n");
         printf("\t2.按工号查询\n");
         printf("\t3.按电话查询\n");
         printf("\t4.按QQ号查询\n");
         printf("\t0.返回主菜单\n");
         bound('_',30);
         printf("\n请选择菜单：");
         
         do{
             fflush(stdin);
             choice=getchar();
             system("cls");
             
             switch(choice)
             {
                 case '1':
                      printf("\n输入要查询的员工姓名：");
                      scanf("%s",str);
                      
                      emp1=findname(str);
                      displayemp(emp1,"姓名",str);
                      getch();
                      break; 
                      
                 case '2':
                      printf("\n请输入要查询的员工的工号"); 
                      scanf("%d",&num); 
                      
                      emp1=findnum(num);
                      itoa(num,str,10);
                      displayemp(emp1,"工号",str);
                      getch();
                      break;
                      
                  case '3':
                       printf("\n输入要查询员工的电话:");
                       scanf("%s",str);
                       
                       emp1=findtelephone(str); 
                       displayemp(emp1,"电话",str);
                       getch();
                       break;
                       
                  case '4':
                       printf("\n输入要查询的员工的QQ号：");
                       scanf("%s",str);

					   emp1=findqq(str);
                       displayemp(emp1,"QQ号码",str);
                       getch();
                       break;
                       
                   case '0':
                        ret=1;
                        break;          
             }                         
         }while(choice<'0'||choice>'4');
         
         system("cls");
         if(ret) break;
     }while(1);         
}
